package com.mhc.suzuki.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class LoanInfoVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键，贷款信息ID
     * pcl_loan_info.loan_info_id
     */
    private Long loanInfoId;

    /**
     * 订单号
     * pcl_loan_info.order_no
     */
    private String orderNo;

    /**
     * 业务类型编号，对应数据字典
     * pcl_loan_info.biz_type_id
     */
    private Long bizTypeId;

    /**
     * 业务类型名
     * <p>
     * pcl_loan_info.biz_type_name
     */
    private String bizTypeName;

    /**
     * 贷款银行ID，对应数据字典中银行ID
     * pcl_loan_info.bank_id
     */
    private Long bankId;

    /**
     * 贷款期限
     * <p>
     * pcl_loan_info.period
     */
    private Integer period;

    /**
     * 开票价
     * <p>
     * pcl_loan_info.billing_amount
     */
    private java.math.BigDecimal billingAmount;

    /**
     * 公司费率
     * <p>
     * pcl_loan_info.company_charge_rate
     */
    private java.math.BigDecimal companyChargeRate;

    /**
     * 执行费率
     * <p>
     * pcl_loan_info.execution_rate
     */
    private java.math.BigDecimal executionRate;

    /**
     * 贷款额度
     * <p>
     * pcl_loan_info.loan_amount
     */
    private java.math.BigDecimal loanAmount;

    /**
     * 首付额
     * <p>
     * pcl_loan_info.down_payment
     */
    private java.math.BigDecimal downPayment;

    /**
     * 首付比例
     * <p>
     * pcl_loan_info.down_payment_rate
     */
    private java.math.BigDecimal downPaymentRate;

    /**
     * 贷款比例
     * <p>
     * pcl_loan_info.loan_rate
     */
    private java.math.BigDecimal loanRate;

    /**
     * 月还款额
     * pcl_loan_info.monthly_payment
     */
    private java.math.BigDecimal monthlyPayment;

    /**
     * 银行放款日期
     * pcl_loan_info.bank_loan_date
     */
    @SuppressWarnings("squid:S3437")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime bankLoanDate;

    /**
     * 放款金额
     * pcl_loan_info.bank_loan_amount
     */
    private java.math.BigDecimal bankLoanAmount;

    /**
     * 实际垫资金额（也即更改垫资金额）
     * pcl_loan_info.actual_loaning_amount
     */
    private java.math.BigDecimal actualLoaningAmount;

    /**
     * 维护贷款信息的员工ID
     * pcl_loan_info.staff_id
     */
    private Long staffId;

    /**
     * 备注
     * pcl_loan_info.remark
     */
    private String remark;

    /**
     * 是否已删除：0 正常，1 已删除
     * pcl_loan_info.is_deleted
     */
    private Integer isDeleted;

    /**
     * 记录创建时间
     * pcl_loan_info.gmt_create
     */
    @SuppressWarnings("squid:S3437")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime gmtCreate;

    /**
     * 垫款收款方经销商ID，有可能与订单经销商ID相同也可能不同，当payee_dealer_id为空时，去dealer_id对应的银行账号作为垫款的收款账户。
     * pcl_loan_info.payee_dealer_id
     */
    private Long payeeDealerId;
    /**
     * 收款方账号名称，如经销商名称
     */
    private String payeeDealerName;

    /**
     * 收款方开户银行ID
     */
    private Long payeeBankId;

    /**
     * 收款方开户银行名称
     */
    private String payeeBankName;

    /**
     * 收款方银行卡号
     */
    private String payeeBankCard;


}